package com.weijian.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.weijian.entity.VideoInfo;
import org.springframework.web.multipart.MultipartFile;

/**
 * 视频信息Service接口
 * 继承IService，使用MyBatis-Plus提供的Service方法
 */
public interface VideoInfoService extends IService<VideoInfo> {
    
    /**
     * 上传视频文件
     * @param file 上传的文件
     * @return 上传成功的视频信息
     */
    VideoInfo uploadVideo(MultipartFile file);
    
    /**
     * 分页获取视频列表
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return 分页结果
     */
    IPage<VideoInfo> getVideoPage(Integer pageNum, Integer pageSize);
    
    /**
     * 删除视频（包含文件和数据库记录）
     * @param id 视频ID
     * @return 是否删除成功
     */
    boolean deleteVideo(Long id);
    
    /**
     * 生成视频缩略图
     * @param videoPath 视频文件路径
     * @param outputPath 缩略图输出路径
     * @return 是否生成成功
     */
    boolean generateThumbnail(String videoPath, String outputPath);
}